View Oriented Social Network (VOSN)

ABSTRACT

The invention enhances data storage and utilization by introducing an abstract data layer to enable systematic and logic optimization of data by all web users. The abstract data layer consists of views as logical units to simulate encapsulation of user data and to optimize data storage and utilization. View relationships express explicit user intentions and implicit state of key user data designated as view connection preferences to apply on a view level. View permissions enable privacy controls for every view. View functions and services offer view interactive capabilities whereas view attachments capture view generated data for automated data analyses with consequential view data, function or service adjustments.

BACKGROUND OF THE INVENTION

Social networks have proliferated on the internet due to contemporary demands for online social interactions many of which are met by various solutions offering different contexts or schemes to attract their audiences. Content provision by a typical social network is carried out according to i) the information explicitly requested by the network to properly maintain user accounts and ii) user browsing information implicitly aggregated by the network to be able to offer various contemporary social features to their users.

Although evolving, the status quo web content provision is deemed rather insufficient by an increasing number of web users due to user i) ignorance as to what user data is implicitly collected as a result of their browsing experience, ii) limited understanding of how their data is actually used, and iii) very limited, if any, capacity to influence user experience through their data. The perpetual competition of web content/service providers to offer innovative experience further stretches the boundaries of user privacy which may inadvertently be exposed or, sometimes, misappropriated by illegal actions.

Wearable devices have introduced new demands for data integration and device interoperability on a large scale where such co-operative efforts could offer far-enhanced technical capabilities and data analysis to provide for improved social benefits.

BRIEF SUMMARY OF THE INVENTION

Considered broadly, a social network according to this invention comprises user views as collections of systematically maintained user data to simulate data encapsulation and optimize user interactions. The views connect according to their relationships with each other which can be of shared, following, follower, group or other relationship type. Each view relationship is established as the result of i) an explicit action taken by one view in relation to the other view to create a following, follower or group relationship; ii) mutual compatibility of view connection preferences to implicitly detect a shared relationship between two views; or iii) non-existence of the above described relationships which is identified as other view relationship. A view network extends an existing view relationship of its creator view with view network member views. Set according to view relationships, view permissions control access to each view and its content which is aggregated according to view functions or services that offer various interactive capabilities. The view services enable custom operations among views whereby one view acts as a view service client while the other view acts as a view service server. The communication between the view service client and server is conducted by service requests and responses. Data generated by each view service is aggregated as a view attachment. View attachments facilitate data exchange and analysis, and alternatively can be created outside of a view service.

In the drawings, which form part of these specifications,

FIG. 1 is the network components overview;

FIG. 2 illustrates view relationships;

FIG. 3 illustrates view connection preferences;

FIG. 4 shows how compatibility in view connection preferences is determined;

FIG. 5 illustrates how crowd source data is applied;

FIG. 6 shows how crowd source data is stored;

FIG. 7 shows how a group view is structured;

FIG. 8 shows how view function operate;

FIG. 9 shows how a view attachment generation is created by a view service;

FIG. 10 shows how a view identity history is maintained;

FIG. 11 demonstrates how view connection preferences are inserted with a view profile;

FIG. 12 illustrates a view relationship context;

FIG. 13 demonstrates how view permissions apply;

FIG. 14 demonstrates a view network and its relationships;

FIG. 15 illustrates view services;

FIG. 16 shows how view services communicate with web services;

FIG. 17 shows a view service server as a view service client;

FIG. 18 illustrates a public and private view service;

FIG. 19 demonstrates a view service request command;

FIG. 20 illustrates a view attachment, its template and generations;

FIG. 21 illustrates analytic rules for view attachments.

DETAILED DESCRIPTION

In the particularly advantageous embodiment of the invention illustrated, a social network as seen in FIG. 1 comprises views 1, either personal or group, each consisting of an identity 5, permissions 2, descriptive connection preferences 3, requisite connection preferences 4, and content 12. The view identity 5 consists of a name and may include an image and/or title. As seen in the FIG. 1, a plurality of views can be represented by one view identity 5 which must be attached to a view 1 in order to represent it. When a view as seen in FIG. 10 changes its view identity from 51 to 52, the previous view identity 51 is appended to the view identity history 53 which comprises all one view identities. The view identity 5 can be deleted when it is not attached to any view but it cannot be modified.

The view connection preferences as seen in FIG. 1 consist of descriptive view connection preferences 3 and requisite view connection preferences 4 each of which comprises a name 30 and value 31 as seen in FIG. 3. Names are mandatory in both the descriptive and requisite view connection preferences while values are optional in the requisite view connection preferences. The view connection preference values are formatted as date/time, location or text and are specified as single, range or list of values. The date/time and location are composite formats that indicate which elements are to be included and how such elements are to be positioned within a value. The date/time format 37 comprises a combination of 1) year, 2) month, 3) day, 4) hour, 5) minute, 6) second, all being represented for data storage/transmission by valid numerical values and specified according to a selected calendar type with the default of Gregorian. The date/time format may include a time zone specified as an offset to the UTC time and expressed as a signed decimal value. A range of date/time values can be specified by formatting each range boundary as a date/time, date or time. The location format 35 comprises a combination of 1) country, 2) state or province, 3) city or county or district, 4) town or village, 5) street number, 6) street name, 7) street type, 8) street direction, 9) unit, 10) postal code or equivalent. A range of locations 36 can be specified whereby either a street number or unit can be used to define the range boundaries. The text format can be complemented with data that requires no special formatting and is universally acceptable such as currency or unit of measure.

Both the view connection preference names and values can be supplemented by crowd source information which stores information according to its relevance to the information that it is set to supplement. The information in the crowd source is arranged in relevance threads. When new information is added to the crowd source (FIG. 6), it is added to the same thread i) as the information that the newly added information is set to supplement (6.1) or, alternatively, ii) where the newly added information exists while the supplemented information does not exist (6.2). If no thread is found, then a new thread is created and both the newly added and to-be-supplemented information are added to the thread (6.3). When the crowd source is invoked to supplement a view connection preference name as seen in FIG. 5, all names that belong to the same crowd source thread as the supplemented name (5.1) except for the names that have been excluded are used as permitted variants to expand the matching capacity of the supplemented name (FIG. 19). As has just been mentioned, the information provided by the crowd source can be customized to exclude information for each supplemented element (5.2 or 5.4). The crowd source information for the view connection preference values is treated as described above for the view connection preference names (5.3).

View profiles represent data stereotypes detected in the view connection preferences. As seen in FIG. 11, each view profile 41 is defined in its template 42 which includes only the names of the view connection preferences that comprise a view profile. The view profile templates are categorized according to their context 43. New connection preferences can be added to a view by providing values for the names in a view profile template. View profile information can be deleted from the view connection preferences by deleting a view profile from the list of view profiles detected in the view connection preferences.

The views are connected by view relationships which are established when at least one of the following conditions are met as seen in FIG. 2: i) one view follows another view which creates a following view relationship 21 for the first view and a follower view relationship 22 for the second view; ii) the view connection preferences of one view are mutually compatible with the view connection preferences of another view which creates a shared view relationship 23 for both views; iii) one view joins a group view creating a group view relationship 24 with each group member view; iv) none of the above conditions exist which is identified as other view relationship 25. The shared view relationship is deemed to exist between two views when all values in the requisite view connection preferences of view one are compatible with values for the same names in the descriptive view connection preferences of view two and vice versa. Two values are deemed compatible when such values are formatted using one same compound data format including any complementary data and, as seen in FIG. 4, i) single values are identical (4.1), or ii) single values fall within all applicable boundaries of a range of values, or iii) single values comprise a list of values (4.2), or iv) a range of values at least partially comprises a list of values (4.3, 4.4), or v) two ranges of values overlap (4.3), or vi) two lists of values overlap (4.4), or vii) no value is provided (4.5) in a requisite view connection preference. Data conversion may be performed by casting data as deemed necessary for proper evaluation.

All individual view relationships of one relationship type comprise a view relationship context 27 for each view as seen in FIG. 12. When a plurality of views within the shared or other view relationship context have one same view identity and no contact has been made with such views, then any view attached to the view identity can represent it. When a contact has been made, then only the contacted (“sticky”) view 26 as seen in FIG. 12 can continue to represent the view identity with the view that made the contact. The view relationship can be personalized by each side by marking it as favourite 27 which constitutes another view relationship type.

Any view that joins a group view as seen in FIG. 7 assumes the group view settings including the group view connection preferences, permissions and identity whereby the group view connection preferences 70 and permissions 72 override the assuming view connection preferences and permissions and the group view identity is appended to the assuming view identity 71. Only invited views can join a group view which is managed by the group view creator and administrators. All one group member views are connected to each other by the group view relationship 24 as seen in FIG. 2. Each group view as seen in FIG. 7 can have a public index 73 to list the group member views that can be accessed by views outside of the group according to their view relationship 74 with the group.

The view permissions define access privileges among views in a social network as invented herein and are set according to view relationships for individual view functions or services, or combinations thereof, which may require two-way, one-way or no permissions. Each view permission is set by including permitted view relationships. The two-way view permission 131 as seen in FIG. 13 requires that each side to a view relationship satisfies the same permission requirement of the opposite side to connect over a specific view function or service, or a combination thereof. The one-way view permission 132 requires that only one side to a view relationship meet the permission requirement of the opposite side to connect over a specific view function or service, or a combination thereof. When no permission 133 is required for a view function or service, or a combination thereof, then all views connect over such a view function or service, or a combination thereof, regardless of their view relationships. The view identity permission is a basic, two-way permission that supersedes any other view permission which is enforced for each view during its access validation where the view identity permission (131 a, 132 a) is validated before any other view permissions can be validated to determine access among views.

View networks extend view relationships as seen in FIG. 14 and enable view network member views 140 to connect to one another 141 regardless of their view relationship with each other as long as their view relationship 142 with the view network creator 143 is valid and mutually permitted. Views join each view network according to its one-way privacy permission that lists permitted conditions or view relationships between a view network creator and joining views.

View functions enable views in a social network as invented herein to interact. As seen in FIG. 8, view functions can be provided by the social network 80 or third-parties 81. Third-party view functions communicate with the social network by either APIs 82 or view services 83 to exchange information with the social network. In order to be used, each view function is selected from a public repository of functions, where all available functions are managed and categorized, and attached to any view that wants to uses it.

The view services enable views in a social network as invented herein to serve each other whereby as seen in FIG. 15 one view acts as a service client 151 and the other view acts as a service server 152. The communication between the view service client and server is conducted on a request/response basis whereby the view service client creates a view service request 153 to provide the information required by the view service server to perform its operations and generate a view service response 154 with a result code. The information in either view service request or response consists of data items each comprising a name and value. The data item name is set as text while the data item value is set as seen in FIG. 15 according to its type 155, format 156 and complementary information 157. Valid value types include single, range, list, date/time, date/time range, date/time list, location, location range, list of locations, URL, list of URLs, image, list of images, video, list of videos, document, list of documents. The value format indicates format requirements to apply to the data item value whether for data storage or transmission. The value format for the single, list or range value types is set as alpha, numeric or alphanumeric. The value format for the date/time value type indicates a required combination and positioning for a year, month, day, hour, minute, second. The value format for the location value type indicates required combination and positioning for 1) country, 2) state or province, 3) city or county or district, 4) town or village, 5) street number, 6) street name, 7) street type, 8) street direction, 9) unit, 10) postal code or equivalent. The URL value type comprises a URI and text. The value format for the image, video or document value type is specified as a valid MIME type. Any universally acceptable data that requires no formatting complements the data item value and is specified as its complementary information. Each complementary information item 157 such as currency or unit of measure is represented by a unique code.

The view service can be i) performed manually whereby such view service data item values are provided manually, or ii) automated by either the view service client or view service server whereby the view service client exchanges information with a web service client and the view service server exchanges information with a web service. When a view service server 161 as seen in FIG. 16 communicates with a web service 162, it acts as a web service client to send the information contained in a view service request as a web service request 163 and to format the information received in response 164 as a view service response 165. When a view service client 166 communicates with a web service client 167, it acts as a web service to receive a web service request 168 from a web service client, to format such information as a view service request 169 and to generate a web service response 160 from a view service response. In the preferred embodiment, the web service as described above is a RESTful web service and any communication between the view service and web service is conducted by JSON messages whereby view service data item names correspond to web service message parameter names and view service data item values correspond to web service message parameter values. Each web service message parameter value comprises a type 1651, format 1652, value 1653 and complementary elements such as currency 1654 or unit of measure 1655 etc. The type 1651 and format 1652 elements of the web service message parameter value correspond to the type and format of the view service data item value. The complementary elements of the web service message parameter value correspond to the complementary elements of the view service data item value with each complementary element comprising a code and description as a JSON object. The web service message parameter value can be formatted as a single JSON object, an array of JSON objects, text or according to the MIME type specified in the value format, where a range value type has two elements in an array and a list value type has one or more elements in an array.

The server of one view service 172 may also be the client of another view service 173 as seen in FIG. 17 in which case the original client 171 has the authority 174 to approve or disapprove such third-party service requests as defined in the original view service description. The scope of the information exchanged in the original view service, which is limited to the original client and server, may be extended to a third-party view service if authorized by the original client.

The view service can be private or public the latter of which is selected from a public repository of view services 181 as seen in FIG. 18 where service creators list their view services. The public view service is activated and made available for public subscriptions 183 when it is published 182 by the view service server. The private view service is activated 184 and made available by invitations 185 distributed by the view service server. Either the private or public view service must be subscribed to receive. Deactivation of a view service stops its distribution and provision.

The view service request can be invoked manually, scheduled to occur at a set time or interval, or triggered by a command and enhanced by a voice-recognition software. A service request command 190 as seen in FIG. 19 may include dynamically supplied variable data which are consequently included in the view service request. The view service request command comprises a number of words whereby dynamic variable values are defined as anything that take place between i) two constant words 192, ii) the command beginning and the first constant word 191, or iii) the last constant word and the command end 193. Thus defined command variables are mapped to the service request data items whereby command variable names are mapped to service request data item names 194 and command variable values are mapped to service request data item values 195.

View attachments facilitate the aggregation and analysis of data generated by views in a social network as invented herein. Each view attachment is accessed by its publishers and subscribers through permitted view relationships with the view attachment creator. The view attachment publisher is represented by its view identity and is allowed to publish view attachment data according to an assigned scope which can be a group or attachment. When the view attachment publisher is specified as a group view, all such group member views can publish the view attachment. The view attachment subscriber is represented by its view identity and is allowed to read view attachment data according to an assigned scope which can be a group or attachment. When the view attachment subscriber is specified as a group view, all such group member views can read the view attachment. Each view attachment comprises a header 201 and data 202 as seen in FIG. 20. The view attachment header has a title, list of publishers and list of subscribers each such list with the scope of the entire view attachment. The view attachment data consist of groups 203 each comprising a title, data items, a list of publishers and a list of subscribers each such list with the scope of a view attachment group. Each data item in the view attachment data group comprises a name 205 and value 206 which are set and formatted as the view service request/response data item name and value.

The initial state of data in the view attachment is held in its template from which view attachment generations are derived by setting values for data item names in the view attachment template 204 or by updating the latest generation of the view attachment. Any information provided in the view attachment template is immutable and published as such. Each view attachment publication creates a view attachment generation 207 to record the current time 208 and state of view attachment information to its history whereupon such information becomes available to all view attachment parties which can elect to be notified about this event. When the view attachment is created as the result of the view service as seen in FIG. 9, the view service request is published by the view service client, which is deemed the creator of the view attachment, as one view attachment group 111 while the view service response is published by the view service server as another view attachment group 112. Each view service instance creates a new generation of the view attachment that has been created by the view service. Any view attachment created not as the result of a view service can be stored by the view attachment creator into a public repository of view attachments to facilitate their distribution and broaden the base for data analysis.

The data analysis of view attachments is performed by evaluating analytic rules each comprising conditional statements that apply to the view attachment data items to derive analytical conclusions. The conditional statements are interdependent where the result of one conditional statement can be included into another conditional statement. The conditional statements as seen in FIG. 21 are recorded as conditional and arithmetic expressions 211, or combinations thereof, with the view attachment data items referenced by their name ids 212 and applied to their values 213. The results generated by the analytic rules can update view attachments or trigger view services. The analytic rules are stored with their view attachments into either the public repository of view services or public repository of view attachments that are not created by view services. The creators of analytic rules can add new analytic rules to the view attachments stored in the public repository of view attachments or to the public view services stored in the public repository of view services.

Although the invention has been described in connection with a preferred embodiment, it should be understood that various modifications, additions and alterations may be made to the invention by one skilled in the art without departing from the spirit and scope of the invention as defined in the appended claims. 

1-78. (canceled)
 79. In a social network, a plurality of views each comprising a view identity, which can be so attached to a plurality of views, view permissions, view connection preferences and view content, wherein said view connection preferences consist of descriptive view connection preferences and requisite view connection preferences each comprising a plurality of data items each consisting of a data item name and data item value to be formatted according to a valid format including any supplementary data to be formatted according to a corresponding universally accepted format.
 80. A social network of claim 79 wherein said data item name or data item value can be supplemented by crowd source data to be formatted as the data item name or data item value it is set to supplement and to be arranged according to its relevance to the data item name or data item value it is set to supplement wherein said crowd source data is stored in relevance threads so that new crowd source data is added to the same relevance thread as the data item name or value that new crowd source data is set to supplement, or to a relevance thread where new crowd source data exist while the data item name or value that new crowd source data is set to supplement does not exist, or to a new relevance thread where both new crowd source data and the data item name or value that new crowd source data is set to supplement are stored.
 81. A social network of claim 80 wherein i) said data item name is supplemented by crowd source data names when such crowd source data names exist in the same relevance thread as the data item name and such crowd source data names are included as valid alternatives for the data item name in any evaluation or process where such information is sought, and ii) said data item value is supplemented by crowd source data values when such crowd source data values exist in the same relevance thread as the data item value and such crowd source data values are included as valid alternatives for the data item value in any evaluation or process where such information is sought.
 82. A social network of claim 80 wherein said views connect according to their relationships with each other whereby a view relationship exists when one view follows another view to create a following view relationship for the former view, or when one view is followed by another view to create a follower view relationship for the former view, or when the view connection preferences of one view are mutually compatible with the view connection preferences of another view to create a shared view relationship for either view, wherein the requisite view connection preferences of one view are compatible with the descriptive view connection preferences of another view and vice versa, or when one view joins a group view to create a group view relationship for either view, or when two views are otherwise connected to create other view relationship for either view.
 83. A social network of claim 80 wherein said group member view of a group view is represented outside of the group view by the group view identity, group view connection preferences and group view permissions which are deemed to be assumed by each joined member view to override their own corresponding settings.
 84. A social network of claim 82 wherein said connected views can serve each other by a view service whereby one view, being a view service client, communicates a view service request to another view, being a view service server, which can communicate the information contained in the view service request as a web service request to a web service and formats the information received in response as a view service response which is provided to the view service client regardless of whether a web service is used.
 85. A social network of claim 82 wherein said views store data into view attachments each consisting of a header and data groups that i) are accessible to its publishers and subscribers according to their view relationships with each other and which can be further customized for each view attachment, and ii) each consisting of a title and data items which can be referenced by their name ids to be used in data analytic rules comprising conditional and arithmetic expressions, or combinations thereof, to trigger conditional actions.
 86. A social network of claim 85 wherein said view attachment has its initial state of immutable data stored in its template from which view attachment generations are derived either by setting values for data item names from the view attachment template or by updating the latest generation of the view attachment which is created by each view attachment publication to record the current time and state of view attachment information to its history whereupon such information becomes available to the view attachment subscribers. 